unit RelatorioClassProduto;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, RLReport;

type
  TFRelatorioClassProduto = class(TForm)
    RLReport: TRLReport;
    RLBand1: TRLBand;
    rlEmpresa: TRLLabel;
    rlSisLocal: TRLLabel;
    rlname: TRLLabel;
    RLDBText1: TRLDBText;
    rlSubTitulo: TRLLabel;
    RLMemo: TRLMemo;
    rlInfo: TRLSystemInfo;
    rlInfo1: TRLLabel;
    RLSystemInfo1: TRLSystemInfo;
    dsRelatorio: TDataSource;
    RLBand3: TRLBand;
    RLBand2: TRLBand;
    RLLabel1: TRLLabel;
    RLDBText2: TRLDBText;
    RLLabel2: TRLLabel;
    RLDBText3: TRLDBText;
    RLLabel3: TRLLabel;
    RLDBText4: TRLDBText;
    RLLabel4: TRLLabel;
    RLDBText5: TRLDBText;
    RLDBText6: TRLDBText;
    RLLabel5: TRLLabel;
    procedure RLDBText2BeforePrint(Sender: TObject; var Text: String;
      var PrintIt: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure RLDBText6BeforePrint(Sender: TObject; var Text: String;
      var PrintIt: Boolean);
    procedure RLDBText4BeforePrint(Sender: TObject; var Text: String;
      var PrintIt: Boolean);
    procedure RLDBText5BeforePrint(Sender: TObject; var Text: String;
      var PrintIt: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FRelatorioClassProduto: TFRelatorioClassProduto;

implementation

uses CadastroClassProduto, UGeral;

{$R *.dfm}

procedure TFRelatorioClassProduto.RLDBText2BeforePrint(Sender: TObject; var Text: String;
  var PrintIt: Boolean);
begin
  Text := Text + ' - ' + dsRelatorio.DataSet.fieldByName('CLASS_PROD_DESCRICAO').AsString;
end;

procedure TFRelatorioClassProduto.FormCreate(Sender: TObject);
const
  ctPesquisa =
    'SELECT DISTINCT'#10+
    '  CLASSIFICACAOPRODUTO.ESTRUTURA,'#10+
    '  CLASSIFICACAOPRODUTO.CLASS_PROD_DESCRICAO,'#10+
    '  CLASSIFICACAOPRODUTO.TIPO,'#10+
    '  PLANOCONTAS.DESCRICAO       AS CLASS_FINANCEIRA,'#10+
    '  P1.PLANOCONT_CODIGOCONTABIL AS COD_CONTABIL_EST,'#10+
    '  P1.PLANOCONT_DESCRICAO      AS DES_CONTABIL_EST,'#10+
    '  P2.PLANOCONT_CODIGOCONTABIL AS COD_CONTABIL_REC,'#10+
    '  P2.PLANOCONT_DESCRICAO      AS DES_CONTABIL_REC'#10+
    'FROM'#10+
    '  CLASSIFICACAOPRODUTO'#10+
    '  LEFT JOIN PLANOCONTAS ON (CLASSIFICACAOPRODUTO.CLASS_PROD_PLANOCONTAS = PLANOCONTAS.CODIGO)'#10+
    '  LEFT JOIN PLANOCONTABILIDADE P1 ON (CLASSIFICACAOPRODUTO.CLASS_PROD_CONTACONTABIL_EST = P1.PLANOCONT_CODIGO)'#10+
    '  LEFT JOIN PLANOCONTABILIDADE P2 ON (CLASSIFICACAOPRODUTO.CLASS_PROD_CONTACONTABIL_REC = P2.PLANOCONT_CODIGO)'#10+
    'ORDER BY'#10+
    '  CLASSIFICACAOPRODUTO.ESTRUTURA';

begin

  if Usando_Query_Pesquisa(ctPesquisa) then
    dsRelatorio.DataSet := Query_Pesquisa;

end;

procedure TFRelatorioClassProduto.RLDBText6BeforePrint(Sender: TObject;
  var Text: String; var PrintIt: Boolean);
begin
  Text := Copy(Text, 1, 1);
end;

procedure TFRelatorioClassProduto.RLDBText4BeforePrint(Sender: TObject;
  var Text: String; var PrintIt: Boolean);
begin
  if Text <> '' Then
    Text := dsRelatorio.DataSet.fieldByName('COD_CONTABIL_EST').AsString + '-' + Text;
end;

procedure TFRelatorioClassProduto.RLDBText5BeforePrint(Sender: TObject;
  var Text: String; var PrintIt: Boolean);
begin
  if Text <> '' Then
    Text := dsRelatorio.DataSet.fieldByName('COD_CONTABIL_REC').AsString + '-' + Text;
end;

end.
